﻿#pragma once
//【头文件包含】
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>


//【自定义配置】
typedef int DBLNDataType;


//【结构体声明】
/*带头双向循环链表*/typedef struct DoubleListnode //双向链表结构体
{
	DBLNDataType data;//指本空间元素
	struct DoubleListnode* next;//表示下一个空间的地址
	struct DoubleListnode* prev;//表示上一个空间的地址
}DBLN;




//【函数声明】
/*链表初始化*/DBLN* DoubleListInit(DBLN* phead);
/*链表新节点创建*/DBLN* DoubleListNodeCreat(DBLNDataType x);
/*链表打印*/void DoubleListPrint(DBLN* phead);
/*链表尾插*/void DoubleListPushBack(DBLN* phead, DBLNDataType x);
/*链表尾删*/void DoubleListPopBack(DBLN* phead);
/*链表头插*/void DoubleListPushFront(DBLN* phead, DBLNDataType x);
/*链表头删*/void DoubleListPopFront(DBLN* phead);
/*链表节点查询*/DBLN* DoubleListNodeSearch(DBLN* phead, DBLNDataType x);
/*链表指定位置插入*/void DoubleListInsert(DBLN* pos, DBLNDataType x);
/*链表指定位置删除*/void DoubleListErase(DBLN* pos);
/*链表空间销毁*/void DoubleListesDestroy(DBLN* phead);
/**/
/**/
